#ifndef _STRAWGUI_FONT_RENDERER_H_
#define _STRAWGUI_FONT_RENDERER_H_

#include "sSaveable.h"
#include "sMath.h"
#include "DataBase.h"
#include "sResource.h"
#include "sFontResource.h"
#include "sFontPreset.h"
#include "sEngineItem.h"

namespace sgui
{
namespace preset
{
	class sFontPreset;
};
namespace engine
{
	class sEngine;
	class sDrawContext;

	class sFont : public sEngineItem
	{
	public:
		virtual void draw(const engine::sDrawContext& context, const std::wstring& text,
			Color color = 0xFFFFFFFF) const = 0;
		virtual math::sPointf getSize(const std::wstring& text) const = 0;

		sFont(const sEngine& engine, const res::sFontResource& res, const preset::sFontPreset& preset)
		{}
	};
};
};

#endif